// pages/eat/eat.ts
var menuList = require('../../utils/menu');

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 抽奖结果
    result: "请点击下方按钮进行抽取",
    // 当前抽奖列表
    list: [] as Array<menuList>,
    // 菜单名称
    name: '默认菜单',
    // 抽奖状态
    status: "待抽奖",
    // 不放回抽样
    notRepeat: false,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    const menu = wx.getStorageSync('menu') || [];
    if (menu.length) {
      this.setData({
        'list': menu
      })
    } else {
      this.setData({
        'list': menuList.menu
      })
    }
  },

  /**
* 抽取美食
*/
  randonFood() {
    // 设置状态为抽取中
    this.setData({ status: "抽取中" })
    // 获取列表
    var foodList = this.data.list;
    // 随机值
    var number = parseInt((Math.random() * (foodList.length - 1)).toFixed(0));
    // 结果
    var result = foodList[number].name;

    // 抽取效果
    var i = 0;
    // 效果持续时间
    var time = 2000;
    // 计时器：循环展示菜单
    var timeInt = setInterval(() => {
      this.setData({ result: foodList[i].name });
      i++;
      if (i == foodList.length) {
        i = 0;
      }
    }, 100)

    // 指定时间后停止抽奖
    setTimeout(() => {
      clearInterval(timeInt);
      // 检测是否为不放回抽样
      if (this.data.notRepeat) {
        // 不放回抽样
        let menuList = this.data.list;
        menuList.splice(number, 1)
        this.setData({ list: menuList });
      }
      this.showResult(result);
    }, time)

  },

  /**
   * 显示结果
   */
  showResult(result: any) {
    this.setData({ status: "抽取完成！", result: result })
    // 震动提示抽取完成
    wx.vibrateShort({
      type: 'heavy',
    })
    wx.showModal({
      title: "这顿吃这个好不？",
      content: result,
      showCancel: false
    })
  },

  /**
   * 检查是否设置菜单
   */
  checkList() {
    // 点击抽奖按钮震动提示
    wx.vibrateShort({
      type: 'medium',
    })
    if (this.data.status == "抽取中") {
      wx.showToast({
        title: '正在抽取中，请勿继续点击',
        icon: "none"
      })
    } else if (this.data.list.length > 0) {
      this.randonFood();
    } else if (this.data.list.length == 0 && this.data.notRepeat) {
      wx.showToast({
        title: '菜单已抽完，点击控制面板中“恢复所有菜单项”即可重新抽取',
        icon: "none"
      })
    } else {
      wx.showToast({
        title: '请先点击底部“设置好吃的”设置菜单,再进行抽取',
        icon: "none"
      })
    }
  },

  SetMenu() {
    wx.navigateTo({
      url: '/pages/eat/menu'
    })
  },

  // cover() {
  //   wx.navigateTo({
  //     url: '/pages/cover/cover'
  //   })
  // },

  moyu() {
    wx.navigateToMiniProgram({
      appId: 'wxdcad065ad53d215c',
      path: 'pages/index/index',
      envVersion: 'release',
      success() {
        // 打开其他小程序成功同步触发
      }
    })
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: '快跟我一起美食制霸!',
      imageUrl: '/images/show.png', //这里是图片的路径
      fail: function (res: any) {
        // 转发失败
        console.log("转发失败:" + JSON.stringify(res));
      }
    }
  }
})